feat: add nsqlGenerateSql for the runtime's /v1/nsql endpoint - #327
Merged
Conversation
nsql() runs the generated query and returns rows; there was no way to get just the generated SQL without running it, unlike gospice/spice-rs/ spicepy's Nsql/NsqlGenerateSQL pair. nsqlGenerateSql() sends the same request with an application/sql Accept header and returns the SQL as plain text. Adds unit tests (nsql() had none previously) against a mocked fetch.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Aug 19, 2026
sgrebnov
approved these changes
Aug 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
SpiceClient.nsqlGenerateSql(query, options)— translates a natural-language query into SQL without running it, closing the one gap versus gospice/spice-rs/spicepy'sNsql/NsqlGenerateSQLpair (nsql()only ran the generated query).nsql(), just sent with anAccept: application/sqlheader instead of the JSON envelope.Test plan
test/nsql.test.ts(mocked fetch, no live runtime needed) — also adds baseline coverage fornsql(), which had none before.npm run build,npm run typecheck, and the full offline unit suite pass locally with no regressions.Note:
test/nsql.test.tsisn't wired into a CI job yet — trunk currently lists test files by name per job rather than globbingtest/. Open PR #326 introduces aunit-testsjob for exactly this kind of file; whichever of these two PRs merges second should addtest/nsql.test.tsto that list.